var validator = function(C){
    Ext.form.VTypes[C.name+'Val'] = C.Val;
    Ext.form.VTypes[C.name+'Mask'] = C.Mask;
    Ext.form.VTypes[C.name+'Text'] = C.Text;
    Ext.form.VTypes[C.name] = function(v){
        return Ext.form.VTypes[C.name+'Val'].test(v);
    };
    return C.name;
};

VALID = {
	email:validator({
		name:'email',
        Val:/^(.+@{1}.+[.]{1}.{2,3})|Brak adresu email$/, 
        Mask:/[0-9a-zA-Z\.@_]/,
        Text:'Wprowadź poprawny adres email.'
	}),
    percent:validator({
        name:'percent',
        Val:/^((100)|(\d{0,2}))$/,
        Mask:/[0-9]/,
        Text:'Wprowadź poprawną wartość w procentach.'
    }),
    number:validator({
        name:'number',
        Val:/^[0-9]*$/,
        Mask:/[0-9]/,
        Text:'Wprowadź poprawną liczbę całkowitą.'
    }),
    digit:validator({
        name:'digit',
        Val:/^[0-9]$/,
        Mask:/[0-9]/,
        Text:'Wprowadź poprawną cyfrę.'
    }),
    phone:validator({
        name:'phone',
        Val:/^[0-9]{1,100}$/,
        Mask:/[0-9]/,
        Text:'Wprowadź poprawny numer telefonu.'
    }),
    nip:validator({
        name:'nip',
        Val:/^([0-9](-?)){10}$/,// do podmiany
        Mask:/[0-9\-]/,
        Text:'Wprowadź poprawny nip.'
    }),
    pesel:validator({
    	name:'pesel',
    	Val:/^([0-9]{11})$/,
        Mask:/[0-9]/,
        Text:'Wprowadź poprawny PESEL'
    }),
    zip_code:validator({
        name:'zip_code',
        Val:/^[0-9]{2}(-?)[0-9]{3}$/,
        Mask:/[0-9\-]/,
        Text:'Wprowadź poprawny kod pocztowy'
    }),
    zipcode:validator({
        name:'zipcode',
        Val:/^[0-9]{2}(-){1}[0-9]{3}$/,
        Mask:/[0-9\-]/,
        Text:'Wprowadź poprawny kod pocztowy. Format XX-XXX.'
    }),
    money:validator({
        name:'money',
        Val:/^[[0-9]{0,12}\.{0,1}[0-9]{1,3}]{0,12}$/,// do podmiany
        Mask:/[0-9\.]/,
        Text:'Wprowadź poprawną kwotę.'
    }),
    yearMonth:validator({
        name:'yearMonth',
        Val:/^[1-2]{1}[0-9]{3}[\-]{1}(01|02|03|04|05|06|07|08|09|10|11|12){1}$/,
        Mask:/[0-9\-]/,
        Text:'Wprowadź poprawny miesiąc roku w formacie YYYY-mm.'
    }),
    campaign_name:validator({
    	name:'campaign_name',
        Val:/^[a-zA-Z]{1}[0-9a-zA-Z_]{1,14}$/,
        Mask:/[0-9a-zA-Z_]/,
        Text:'Wprowadź poprawną nazwę kampanii.'
    })
}